﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace StuertzDatenbank
{
    public partial class startgui : Form
    {
        private Benutzer benutzer;
        private  Sprachfile sprachfile;


        public startgui()
        {

            benutzer = new Benutzer(-1);
            Benutzerwahl bwt = new Benutzerwahl(this);
            bwt.ShowDialog();
           
            
            sprachfile = new Sprachfile();

            InitializeComponent();
            InitializeComponentChange();
            Refresh();
            benutzercontrolle();
        }

        private void InitializeComponentChange()
        {
            this.BenutzerLabel.Text = benutzer.getbenutzername();
            this.Profil.Text = sprachfile.Profile;
            this.Auftrag.Text = sprachfile.Auftrag;
            this.Offen.Text = sprachfile.Offen;
            this.Kunden.Text = sprachfile.Kunde;
            this.Hersteller.Text = sprachfile.Hersteller;
            this.Benutzerbutton.Text = sprachfile.Benutzer;
        }

        private void benutzercontrolle()
        {

            Auftrag.Visible = false;
            Profil.Visible = false;
            Offen.Visible = false;
            Kunden.Visible = false;
            Hersteller.Visible = false;
            Benutzerbutton.Visible = false;


            //Auftrag
            if (benutzer.getRolle().getRechte().Auftragbearbeiten | benutzer.getRolle().getRechte().Auftrageinsehen | benutzer.getRolle().getRechte().Auftragerstellen | benutzer.getRolle().getRechte().Auftragloeschen)
            {
                Auftrag.Visible = true;
            }
            //Profil
            if (benutzer.getRolle().getRechte().Profilbearbeiten | benutzer.getRolle().getRechte().Profileinsehen | benutzer.getRolle().getRechte().Profilerstellen | benutzer.getRolle().getRechte().Profilloeschen)
            {
                Profil.Visible = true;
            }
            //offen 
            if (benutzer.getRolle().getRechte().Auftragbearbeiten | benutzer.getRolle().getRechte().Auftragerstellen | benutzer.getRolle().getRechte().Profilbearbeiten | benutzer.getRolle().getRechte().Profilerstellen | benutzer.getRolle().getRechte().Kundebearbeiten | benutzer.getRolle().getRechte().Kundeerstellen | benutzer.getRolle().getRechte().Herstellerbearbeiten | benutzer.getRolle().getRechte().Herstellererstellen)
            {
                this.Offen.Visible = true;
            }
            //Kunde
            if (benutzer.getRolle().getRechte().Kundebearbeiten | benutzer.getRolle().getRechte().Kundeeinsehen | benutzer.getRolle().getRechte().Kundeerstellen | benutzer.getRolle().getRechte().Kundeloeschen)
            {
                Kunden.Visible = true;
            }
            //Hersteller
            if (benutzer.getRolle().getRechte().Herstellerbearbeiten | benutzer.getRolle().getRechte().Herstellereinsehen | benutzer.getRolle().getRechte().Herstellererstellen | benutzer.getRolle().getRechte().Herstellerloeschen)
            {
                Hersteller.Visible = true;
            }
            //Benutzer
            if (benutzer.getRolle().getRechte().Benutzerbearbeiten | benutzer.getRolle().getRechte().Benutzereinsehen | benutzer.getRolle().getRechte().Benutzererstellen | benutzer.getRolle().getRechte().Benutzerloeschen)
            {
                this.Benutzerbutton.Visible = true;
            }



        }

        public startgui(Benutzer benutzerr)
        {
            sprachfile = new Sprachfile();
            benutzer = new Benutzer(-1);
            this.benutzer = benutzerr;
            InitializeComponent();
            InitializeComponentChange();
            this.Refresh();
            this.BenutzerLabel.Text = benutzer.getbenutzername();
            benutzercontrolle();
        }

        public void setBenutzer(Benutzer benutzer)
        {
            this.benutzer = benutzer;
        }


        private void Auftrag_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Auftraggui auftraggui = new Auftraggui(benutzer);
            auftraggui.ShowDialog();
            this.Dispose();
           



        }

        private void Kunden_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            KundeGui gui = new KundeGui(benutzer);
            gui.ShowDialog();
            this.Dispose();
            
           

        }

        private void Profil_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            ProfilstartGui kundengui = new ProfilstartGui(benutzer);
            kundengui.ShowDialog();
            this.Dispose();
        }

        private void Benutzer_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            BenutzerverwaltungGui gui = new BenutzerverwaltungGui(benutzer);
            gui.ShowDialog();
            this.Dispose();
           
           
        }

        private void Hersteller_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            HerstellerGui gui = new HerstellerGui(benutzer);
            gui.ShowDialog();
            this.Dispose();
            
           
        }

        private void Offen_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            AusgecheckteObjekteGui gui = new AusgecheckteObjekteGui(benutzer);
            gui.ShowDialog();
            this.Dispose();
            
           
        }
    }
}
